1. Field of Invention
The invention relates to a method and apparatus for improved rendering of PostScript(copyright) or other Page Description Language (PDL) documents. More particularly, the invention relates to high addressable multibit screening of partial tone objects in a PDL interpreter environment to achieve better printing resolution and quality.
2. Description of Related Art
Image information, either color or black and white, is commonly derived by scanning in a gray level format containing a large number of levels, e.g., 256 levels for black and white and more than 16 million (2563) levels for color. This multi-level format is usually unprintable by standard printers.
Standard printers print in a limited number of levels, either a spot or no spot in the binary case, or a limited number of levels associated with the spot, for example, four in the quaternary case. Since gray level image data can be represented by very large values, it is necessary to reduce gray level data to a limited number of levels so that it is printable. Besides scanning, processing techniques such as computer generation produce gray level pixel values that require such a conversion.
A common method of converting gray level pixel image data to binary level pixel image data is through the use of screening, dithering or halftoning. In such arrangements, over a given area, each gray level pixel within the area is compared to one of a set of predetermined thresholds. The set of thresholds comprises a matrix of threshold values forming one or more halftone cells.
Graphical objects to be screened have a color attribute typically expressed as a set of integers, one integer for each device colorant. For example, in a one color black and white printer, the color specification uses a single integer. However, in a four color device (typically using the colors cyan, magenta, yellow and black), the device color specification for a graphical object consists of four integers. Screening is performed independently for each device color, possibly in parallel. Each integer represents an encoded value for the fractional tint coverage of ink in the area represented by the graphical object. For example, if the color is represented as an unsigned 8 bit integer, the minimum value may represent no ink coverage and the maximum value 255 may represent 100% ink coverage.
Halftone patterns are typically represented by an array of threshold values, one value for each colorant for each pixel for a normal printer that can print only one bit deep images directly. A PDL document may define the halftone pattern to be used for a given image or line-art object. If it does not, the printing system will use a predefined default pattern.
FIG. 1 illustrates a block diagram of a typical screening circuit. In this screening circuit, an unmodified image or video signal is fed into a modulation circuit 1 with a screen value from a halftone screen matrix to produce a modified signal. The modified signal is then thresholded by a binarization circuit 3 to produce a binary output. The binary output represents either the ON or the OFF characteristic of the processed pixel.
In this process, the sampled image picture elements are compared with a single threshold, and a black/white decision is made. The effect of such an arrangement is that, for a given area where the image is gray, some of the thresholds within the matrix will be exceeded, while others are not. In the binary case, the portions of the matrix, or cell elements, in which the thresholds are exceeded are printed in black, while the remaining elements are allowed to remain white or vise-versa. The effect of the distribution of black and white pixels over the small area is integrated by the human eye as gray.
In a network or single personal computer environment, a user may create a job to be printed comprising one or more pages, each consisting of one or more sections of text, graphics and photos. Alternatively, a job may be scanned in or copied from an existing file. This job is sent to a printer driver for printing and converted into a page description language, such as PostScript(copyright). Typical PDL interpreters, such as the Adobe PostScript Interpreter, process objects defined in the PDL data stream for subsequent printing by the printer. PDL interpreters can exist within the printer, such as a laser printer, or can reside elsewhere in the printing system, such as at an image data source, such as a personal computer or server.
A PDL interpreter receives a PDL document from a host source, such as a personal computer (PC). The interpreter identifies various objects. This includes, but is not limited to, fully toned objects such as black text or lineart, and partially toned objects, such as lineart or images having less than 100% coverage. Such partially toned objects can be grayscale or colored (in a color other than black). The document may also contain halftone pattern definition objects. Each of these objects can be processed differently. Fully toned objects are processed within the interpreter and directly output in a predetermined output format. Partially toned objects are sent to a screening module within the interpreter for processing prior to outputting in a desired output format. The screening module screens the partially toned objects to obtain screened data for output. The halftoned data is output with the fully toned objects for subsequent printing. Halftone pattern objects are used to determine the required halftoning threshold array.
Most PDL interpreters are designed to obtain and render single bit output (ON/OFF states) images for printers with typically several hundred bits per inch in each orthogonal direction. These PDL interpreters are not readily adapted to properly process and obtain multibit deep pixel image data, which is necessary to achieve optimum quality reproduction using a high addressable printer. The standard PostScript(copyright) algorithm for 2-bit deep rendered images works well for video monitors or other true continuous tone devices, such as dye sublimation printers. This technique is described in the PostScript Language Reference Manual Second Edition, Addison-Wesley Publishing Co., 1990, the subject matter of which is incorporated herein by reference in its entirety. However, the results for an electrophotographic or lithographic printer, or any other non-continuous printing device, are horrid. These devices cannot reliably reproduce the large areas of partial pixels that the standard screening algorithms produce.
Printing systems have two primary characteristics, optical resolution and addressability. Resolution of a printing system is based on the inking or toning material""s resolving power, or ability to maintain separate marks close together. Addressability is the precision of the printing systems ability to assign a digital address to a mark""s location on a page. Addressability is a digital design function, while resolution is an analog system characteristic, which is a function of inking and toning materials used, optics, electro-mechanics and system addressability.
In casual conversation, these two characteristics are often confused, and the term xe2x80x9cresolutionxe2x80x9d is often used to mean xe2x80x9caddressability.xe2x80x9d It is not uncommon for systems to have addressability that is significantly higher than actual resolution.
There are many printers capable of 600 dots per inch (dpi) or better resolution. However, so-called high addressable printers (with multibit addressing capabilities) are beginning to emerge. In such high addressable printers, each addressable pixel is capable of representation by more than merely an ON/OFF state. As exemplary high addressable printer is capable of 4 states: ON, OFF, ⅓ ON and ⅔ ON. This exemplary printer has an output pulse width limited to about {fraction (1/600)}th of an inch, but positional accuracy can be up to {fraction (1/1800)}th of an inch. Such a system has addressability that is several times higher than the system""s resolution.
High addressable screening has been achieved in a reprographic environment. For example, see U.S. Pat. No. 5,659,634 to Yeh et al., assigned to the same assignee as this invention and incorporated herein by reference in its entirety. However, in Yeh""s system, a scanner renders complete scanned-in images using fixed screening patterns. Such systems cannot obtain and process 2-bit deep composite image data in a PDL interpreter environment.
The invention provides a method for improved rendering of PDL documents having fully toned and partially toned objects for subsequent printing.
The invention also provides a system that multibit renders and prints page description language documents having partially toned and fully toned objects.
Halftone patterns are represented by an array of threshold values, one value for each colorant for each pixel in a normal one bit deep printer raster image. For 2-bit deep images, three thresholds are used for each pixel: one for the ⅓ on value threshold; a second for the ⅔ on value threshold; and a third for the full on value threshold.
The invention converts an array of single threshold values to an array of three (3) sub-threshold values in a way that preserves the pattern specified by the original threshold array (one bit per pixel image), but improves the quality of the rendered image relative to the quality of a one bit per pixel (per colorant) image. The 3 threshold array is used for multibit halftoning.
The interpreter may reside in a general purpose computer or within a printer.
The screening module may screen at a high scanning resolution and encode to a lower resolution or may screen and encode to a same resolution.
The invention provides an improved process for decomposing and rendering a composite PostScript(copyright) or other PDL document for printing on a high addressable multibit printer. A preferred printer according to the invention has an output pulse width limited to {fraction (1/600)}th of an inch or wider and positional accuracy of up to {fraction (1/1800)}th of an inch, thus providing addressability of 1800 dpi in the light beam scanning direction, although the invention can be practiced with any suitable addressability or resolution.
The invention attains up to three times the number of tints that are reproducible at the given halftone pattern and spatial frequency, which reduces posterization defects.
The invention also has advantages over doubling or tripling the addressability in one direction.
An image representation, in a PDL format, is received by a PDL interpreter, which can reside either in the printer, or in a general purpose computer such as a PC or a server. Objects that are fully toned, such as black text, are distinguished and formatted for single bit output (ON/OFF) within the PDL interpreter, without the need for screening or halftoning. Objects that need to be halftoned (i.e., partially toned regions such as gray areas or color areas generally) are typically in a multibit format, such as 8 bits per pixel (256 levels). These selected partially toned objects are screened to the printer resolution. This screening, preferably achieved within a screening module within the PDL interpreter, screens the selected regions at a resolution such as 600 dpi if the printer""s resolution is 600 dpi, although any suitable screening rate can be selected. However, the screening can take place at a resolution higher than the printer""s resolution, such as 1800 dpi, and subsequently converted to a 600 dpi. Once screened, the data representing the partially toned object should be in or convertible to a multibit format for subsequent output by the PDL interpreter and printing by a high addressable printer. The actual screening resolution used would depend on the particular capabilities of a desired output printer.
In a conventional screening process, a particular value from a spatially periodic halftone cell threshold array is compared to each pixel at a given resolution, such as 600 dpi. On the other hand, for high addressable screening it is desirable to obtain three (or more) high addressable bits. This is preferably achieved by running calculations at the regular resolution (such as 600 dpi) and computing the high addressable bits using a specific formula. The three high addressable bits store the input image information in a multibit form, rather than pure binary (0 or 1). Possible bit patterns for each pixel are: 000, 001, 100, 011, 110, and 111. This can also be achieved by having three threshold values for each pixel, which increases the size of the threshold array by a factor of three and also the spatial frequency in one direction.
Once screened to a desired halftoned multibit resolution, such as a high addressable multibit 600 dpi output, the screened data is output along with the fully toned objects.